package com.brillilab.service.core.space;

import com.brillilab.domain.enums.space.SpaceTypeEnum;
import com.brillilab.domain.po.space.KitBox;
import com.brillilab.domain.vo.space.KitBoxVo;
import com.brillilab.domain.vo.user.UserInfoVo;

import java.util.List;

/**
 * @author wuzhiyu
 * @Title: IKitBoxService
 * @ProjectName brill_lab
 * @Description: TODO
 * @date 2018/11/159:03
 */
public interface IKitBoxService {
    /**
     * @return com.brillilab.domain.po.reagent.KitBox
     * @Description: get kitbox by id
     * @Params: [id]
     * @author wuzhiyu
     * @date 2018/11/15 17:49
     */
    KitBox get(Long id);

    /**
     * @return com.brillilab.domain.po.reagent.KitBox
     * @Description: TODO
     * @Params: [kitBox]
     * @author wuzhiyu
     * @date 2018/11/20 15:18
     */
    KitBox add(KitBox kitBox);

    Integer update(KitBox kitBox);

    /**
     * @return java.util.List<com.brillilab.domain.po.reagent.KitBox>
     * @Description: TODO
     * @Params: []
     * @author wuzhiyu
     * @date 2018/11/21 13:17
     */
    List<KitBoxVo> list(Long panelId, UserInfoVo user);

    /**
     * @return boolean
     * @Description: TODO
     * @Params: [roomId, name]
     * @author wuzhiyu
     * @date 2019/1/10 15:34
     */
    boolean updateRoomName(Long roomId, String name);

    boolean delete(Long spaceId, SpaceTypeEnum spaceType);

    boolean deleteByPanelIdList(List<Long> idList);

     boolean deleteListById(List<Long> kitBoxIdList);
}
